Typical modern point of sale stations present an interface to the user that is adapted to the specific environment in which the point of sale station is being used. A restaurant application may present a menu to a user, whether an employee or a self service customer, that is adapted to the specific items being offered by the restaurant. A supermarket may present an interface adapted to supermarket transactions, and specifically to the transactions available at that supermarket. In addition, the point of sale operations carried out at an establishment may change from time to time in a way that makes it desirable to adapt the user interface to current needs. In addition, capabilities and configuration of a point of sale station may change in such a way that it is desirable to adapt the user interface to the changes. In many cases, it may be desired to adapt one or more point of sale stations to self service operation. In many such cases, this adaptation is accomplished through the implementation of screen scraping by a self service application. A screen scraping application collects human readable data, such as display data, and provides this data to another application. In the case of self service applications, a screen scraping application would, for example, retrieve data from touch screen menu items that were selected by a user and would provide this data as inputs to an application interface of a point of sale system. To take an example, if a user made menu selections in a self service restaurant operation for a cheeseburger, regular fries, and medium soft drink, a screen scraping application used to manage a self service interface might extract the text “cheeseburger,” “regular,” “fries,” “medium,” and “soft drink” and provide this text to a point of sale application being operated in the self service station. Such operation can give rise to conflicts and out of synchronization conditions between the user interface and the point of sale application.
For example, a point of sale application may fail to recognize that a particular combination of inputs constitutes a special combination entitled to a discount. In addition, conflicts may arise between the applications as to the state of the transaction. In order to insure proper behavior of the application in the transaction, it is often necessary for the self service application to duplicate most of the business logic of the point of sale application, and for the self service application to maintain a duplicate of the point of sale menu information, so that each self service station separately maintains its own copy of menu information which may be stored in a central server, rather than simply depending on the stored information. Such double menu maintenance can lead to significant additional expense to retailers, who may be required to maintain information in a number of data management tools.